

package com.hazelcast.jet.pipeline;

import javax.annotation.Nonnull;

/**
 * A finite source of data for a Jet pipeline. Finite sources are the only
 * kind that can be used to aggregate data without windowing.
 *
 * @param <T> the stream item type
 * @see Sources source factory methods
 * @since Jet 3.0
 */
public interface BatchSource<T> {

    /**
     * Returns a descriptive name of this source.
     */
    @Nonnull
    String name();
}
